package steed.action.admin;

import steed.action.BaseAction;
import steed.domain.GlobalParam;
import steed.domain.system.AdminUser;
import steed.hibernatemaster.domain.BaseDatabaseDomain;
/**
 * 后台管理action均需继承该类
 * @author 战马
 *
 */
public abstract class BaseAdminAction<SteedDomain extends BaseDatabaseDomain> extends BaseAction<SteedDomain>{
	private static final long serialVersionUID = -8033427047682005633L;
	@Override
	public AdminUser getLoginUser() {
		return (AdminUser) getSession().getAttribute(GlobalParam.attribute.admin);
	}
	
	/**
	 * 刷新登录用户（从数据库重新查询登录用户实体类到session），一般用于修改了当前登录用户的密码，手机号等情况调用
	 */
	public void refreshLoginUser() {
		AdminUser smartGet = getLoginUser().smartGet();
		smartGet.initializeAll();
		setSessionAttribute(GlobalParam.attribute.admin, smartGet);
	}
}
